}
}
+impl<'a, T: ?Sized + Registry + 'a> Registry for Box<T> {
+ fn query(&mut self, name: &Dependency) -> CargoResult<Vec<Summary>> {
+ (**self).query(name)
+ }
+}
+
/// This structure represents a registry of known packages. It internally
/// contains a number of `Box<Source>` instances which are used to load a
/// `Package` from.
fn fingerprint(&self, pkg: &Package) -> CargoResult<String>;
}
+impl<'a, T: Source + ?Sized + 'a> Source for Box<T> {
+ fn update(&mut self) -> CargoResult<()> {
+ (**self).update()
+ }
+
+ fn download(&mut self, id: &PackageId) -> CargoResult<Package> {
+ (**self).download(id)
+ }
+
+ fn fingerprint(&self, pkg: &Package) -> CargoResult<String> {
+ (**self).fingerprint(pkg)
+ }
+}
+
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
enum Kind {
/// Kind::Git(<git reference>) represents a git repository